package com.yunduansing.core.tool;

import com.yunduansing.core.config.constant.ResultCode;

/**
 * 返回工具类，返回状态以返回码区分
 * @author yunduansing
 *
 */
public class ResultTool {
	private Integer status;
	private String message;
	private Object data;
	private ResultTool(Integer s,String m,Object d){
		status=s;
		message=m;
		data=d;
	}
	/**
	 * 执行成功
	 * @param s 返回状态码
	 * @param m 返回信息
	 * @param d 返回数据
	 * @return
	 */
	public static ResultTool ok(Integer s,String m,Object d){
		return new ResultTool(s,m,d);
	}
	/**
	 * 执行成功,返回默认状态码 RESULT_OK
	 * @param m 返回信息
	 * @param d 返回数据
	 * @return
	 */
	public static ResultTool ok(String m,Object d){
		return new ResultTool(ResultCode.RESULT_OK,m,d);
	}
	/**
	 * 执行成功，返回默认状态码RESULT_OK
	 * @param d 返回的数据
	 * @return
	 */
	public static ResultTool ok(Object d){
		return new ResultTool(ResultCode.RESULT_OK,"",d);
	}
	/**
	 * 执行失败
	 * @param s 返回状态码
	 * @param m 返回信息
	 * @param d 返回数据
	 * @return
	 */
	public static ResultTool fail(Integer s,String m,Object d){
		return new ResultTool(s,m,d);
	}
	/**
	 * 执行失败,返回默认状态码 RESULT_ERROR
	 * @param m 返回信息
	 * @param d 返回数据
	 * @return
	 */
	public static ResultTool fail(String m,Object d){
		return new ResultTool(ResultCode.RESULT_ERROR,m,d);
	}
	/**
	 * 执行失败，返回默认状态码RESULT_ERROR
	 * @param d 返回的数据
	 * @return
	 */
	public static ResultTool fail(Object d){
		return new ResultTool(ResultCode.RESULT_ERROR,"",d);
	}
	public Integer getStatus() {
		return status;
	}
	public void setStatus(Integer status) {
		this.status = status;
	}
	public String getMessage() {
		return message;
	}
	public void setMessage(String message) {
		this.message = message;
	}
	public Object getData() {
		return data;
	}
	public void setData(Object data) {
		this.data = data;
	}
}
